package com.csinc.generate.core.base.model;

import com.csinc.generate.core.base.model.enmus.GenerationType;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

/**
 * 创建模板的参数
 * Create By 郭金宝 on 2018/7/23.<br>
 */
@Data
public class GenerationEntity {
    /**
     * Java包名
     */
    private String codePackage;
    /**
     * html包名,如果为空,使用codePackage
     */
    private String htmlPackage;
    /**
     * js包名,如果为空,使用codePackage
     */
    private String jsPackage;
    /**
     * xml包名,如果为空,使用codePackage
     */
    private String xmlPackage;
    /**
     * 功能名称
     */
    private String name = "功能名称";
    /**
     * 数据库表名
     */
    private String tableName;
    /**
     * 主键名称
     * 做数据库存储用
     */
    private String idName = "id";
    /**
     * 主键类型
     */
    private GenerationType idType = GenerationType.IDENTITY;
    /**
     * 类名,默认使用表名
     */
    private String entityName;
    /**
     * 首字母小写类名
     */
    private String lowerEntityName;
    /**
     * 生成时间
     **/
    private String date;
    /**
     * 作者
     **/
    private String author;
    /**
     * 版权（有点牵强）
     **/
    private String copyright;

    /**
     * 首字母小写
     * @return
     */
    public String getLowerEntityName() {

        if (StringUtils.isEmpty(lowerEntityName)
                || lowerEntityName.equals(entityName)) {
            lowerEntityName = entityName.substring(0, 1).toLowerCase() + entityName.substring(1);
        }
        return lowerEntityName;
    }

    public String getHtmlPackage() {
        if (StringUtils.isEmpty(htmlPackage)) {
            return codePackage;
        }
        return htmlPackage;
    }

    public String getJsPackage() {
        if (StringUtils.isEmpty(jsPackage)) {
            return codePackage;
        }
        return jsPackage;
    }
    public String getXmlPackage() {
        if (StringUtils.isEmpty(xmlPackage)) {
            return codePackage;
        }
        return xmlPackage;
    }
}
